<template>
  <div class="todo-list">
    <h1>自律一下</h1><br>
    <input v-model="newTodoTitle" @keyup.enter="addTodo" placeholder="添加新待办事项" />
    <input type="button" value="添加" >
    <ul>
      <todo-item
        v-for="todo in todos"
        :key="todo.id"
        :title="todo.title"
        :completed="todo.completed"
        @update:completed="updateTodoCompleted(todo.id, $event)"
        @remove-todo="removeTodo(todo.id)"
      />
    </ul>
  </div>
</template>

<script>
import TodoItem from './components/TodoItem.vue'

export default {
  components: {
    TodoItem
  },
  data() {
    return {
      todos: [],
      newTodoTitle: ''
    };
  },
  methods: {
    addTodo() {
      if (this.newTodoTitle.trim() === '') return;
      this.todos.push({
        id: Date.now(), // 使用当前时间戳作为唯一标识
        title: this.newTodoTitle,
        completed: false
      });
      this.newTodoTitle = ''; // 清空输入框
    },
    removeTodo(id) {
      this.todos = this.todos.filter(todo => todo.id !== id);
    },
    updateTodoCompleted(id, completed) {
      const todo = this.todos.find(todo => todo.id === id);
      if (todo) {
        todo.completed = completed;
      }
    }
  }
}
</script>
